package com.gege;

import java.lang.reflect.Method;

/**
 * 测试类
 *
 * @author gechenpeng
 * @date 2021-03-17
 */
public class Test {

    public static void main(String[] args) throws Exception {
        // 类全路径名
        String fullClassName = "Hello";
        // 方法名
        String methodName = "hello";

        // 实例化一个自定义类加载器
        ClassLoader classLoader = new CustomClassLoader();
        Class<?> clazz = classLoader.loadClass(fullClassName);
        // 获取 hello 方法
        Method method = clazz.getDeclaredMethod(methodName);
        // 新建 Hello 实例
        Object instance = clazz.newInstance();
        // 调用 hello 方法
        method.invoke(instance);
    }
}
